<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
    <script type="text/javascript">
        // 循环：语言层面的语法--->重复执行一段程序的方案
        // 遍历：业务层面的做法--->观察或者获取集合中的元素的做法
        // 迭代：实现层面的概念--->实现遍历的底层方案就是迭代

        // for in 为遍历对象属性而生的 不建议用于遍历数组
        // for of 只要原型链上存在iterator都可以使用for of遍历
        let arr = [1,2,3];
        arr.forEach(function(item,index,array) {
            console.log(item,index,array);
        });
        const obj = {
            name:'zhangsan',
            age:22
        }
        for (const key in obj) {
            console.log(obj[key]);
        }
        console.log(arr);
        console.log(obj);
        (function(a,b,c){
            console.log(...arguments);
        })(1,2,3)

        const lis = document.querySelectorAll('li');
        for (const li of lis) {
            console.log(li.innerHTML);
        }
    </script>
</body>
</html>